package com.mo.lib.view.chart

import android.graphics.Color
import com.github.mikephil.charting.charts.CandleStickChart
import com.github.mikephil.charting.charts.Chart
import com.github.mikephil.charting.components.Description
import com.github.mikephil.charting.components.Legend

/**
 * @ author：mo
 * @ data：2022/6/28:9:32
 * @ 功能：图表基类
 * 注意：父类的高级函数方法最好在构造的时候加进来，不然以现在尽量链式调用的思路下，子类设置的时候会有问题
 */

/** 图表基类*/
open class BaseChart(
    val chart: Chart<*>,  //载体
    private val chartSeing: (Chart<*>.() -> Unit) = {}, //处理载体方法：都在方法内处理，避免外面写一堆
    private val legend: (Legend.() -> Unit) = {},    //图例
    private val description: (Description.() -> Unit) = {},     //说明
) {
    init { //图例
        legend.let {
            chart.legend.it()
        } //说明描述
        description.let {
            chart.description.it()
        } //整体
        chartSeing.let {
            chart.it()
        }
    }

    fun getChartt(): Chart<*> {
        return chart
    }
}